﻿using System;

namespace IMaverick.Physics
{
    public class AngularVelocity : Dimension<AngularVelocity>
    {
        static AngularVelocity ()
        {
            InitializeOrdersOfMagnitude("deg/s");
            Units.Add(new Unit { Factor = 360 / 2 * Convert.ToDecimal(Math.PI), Name = "rad/s" });
            Units.Add(new Unit{ Factor = 6, Name = "rpm"});
            Units.Add(new Unit{Factor = 360, Name = "rps"});
        }

        public AngularVelocity() : base() { }
        private AngularVelocity(Unit unit) : base(unit) { }


        public static AngularVelocity DegreePerSecond { get { return new AngularVelocity(); } }
        public static AngularVelocity RadianPerSecond { get { return new AngularVelocity(Units["rad/s"]); } }
        public static AngularVelocity RotationsPerMinute { get { return new AngularVelocity(Units["rpm"]); } }
        public static AngularVelocity RotationsPerSecond { get { return new AngularVelocity(Units["rps"]); } }
    }
}
